This invention relates to text processing methods and text processor apparatus forming an imaging system for generating, storing, displaying, drawing, printing and otherwise imaging text.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
Text processors are well-known in the field of computers and data processors for imaging characters in fonts of different typefaces and sizes. Text processors typically define text characters with a generic definition in a character table, for example, an ASCII table, which is independent of typeface or size. The term "typeface" refers to the general appearance and design of characters and the term "font" refers to a complete set of characters having the same typeface, that is, the same general appearance and design.
Many text processors employ font metric tables specifying different font parameters so that together with the character tables the text processor generates characters with different typefaces and sizes. The font metric tables provide metric information which establishes the relative metric relationship among different characters in a font but generally such information does not establish the absolute measurements of the characters. The absolute measurements are established as the product of the font size and the metric information. One example of a font table is the Adobe Font Metrics font table (AFM file) which provides among other parameters an Underline Position and an Underline Thickness (in fractions of an em). The term "font properties" refers to any or all of the properties associated with a font such as font size, underline position of rules and thickness of rules.
Computers and data processors that use text processors are imaging systems that output the processed text in human readable form. The imaging systems typically include computer display screens for electronic output or printers for paper output. In such imaging systems, each character is drawn by a number of pixels (points) that are located and addressed by an X-axis coordinate and a Y-axis coordinate defined relative to an XY-axes system where an X-axis and an orthogonal Y-axis form a matrix of addressable pixels. Each pixel is drawn by determining the X-axis and Y-axis coordinates for the pixel and each character is drawn by determining the X-axis and Y-axis coordinates for all the pixels that are used to draw the character. The XY-axes system can have any arbitrary rotation. Typically for printers, the X-axis is across the page so that the Y-axis is down the page as read by a human viewer.
For text processors, characters are typically defined along the X-axis by a character line where many character lines for text define a page of text. Each character typically is formed with pixels from many pixel lines so that depending upon the font parameters, characters can have different shapes and sizes depending upon the pixels selected for a character both in the X-axis and Y-axis directions. For convenience, some X-axis pixel line near the bottom of a line of characters is defined as the baseline of a character line. Text processors operate to define characters along character lines and use font parameters to actually determine the pixels to be drawn for each character appearing in the character line.
Many known text processors support the function of underlining text which is a function that enables a user to choose to have text characters underlined with a "rule". A "rule" is defined to be a line of some thickness beneath the characters and parallel to the baseline of the characters. When a single rule is located beneath the line of characters, the function is single underlining. When first and second parallel, spaced-apart rules are located beneath a line of characters, the function is double underlining. When more than one (two, three or more) parallel, first and second spaced apart rules are located beneath a line of characters, the function is multiple underlining. Text processors which have single and/or double : underlining functions are known.
The term "user" refers both to human operators of an imaging system and to application programs or other parts of the imaging system which operate the system. Also, while output images produced from an imaging system may have appearances perceived by humans, the output images may be sensed by optical character readers or other electronic equipment without any human involvement.
For the underlining functions of text processors, the rules (parallel lines offset from the character line) are described in terms of offsets of the rules below the baseline and the thicknesses of the rules. In the case of the single underlining function, the offset of the single rule below the baseline and the thickness of the rule are specified. In the case of the double underlining function, the offset of the first rule below the baseline, the thicknesses of the first and second rules, and the gap between the first and second rules are specified.
The offset, thickness, and gap parameters for rules in text processors are typically functions of the typeface and size. However, for a given typeface and size, the most aesthetically pleasing values for the rule parameters depend upon other characteristics surrounding the underlined text.
Homogeneous underlining is the common method of underlining for many text processors. For homogeneous underlining, the parameters of offset, thickness, and gap for rules are functions of the font size and also are functions of the typeface. Typically, for a given size, a bolder typeface has a bolder (thicker) underline. In many text processors, only homogeneous underlining is provided and users have no choices.
Heterogeneous underlining is another method of underlining for text processors. For heterogeneous underlining, where different typefaces are in close proximity, the parameters of offset, thickness, and gap for rules are functions of font size without any dependency on typeface. Again, users have no ability to control the appearance of the underlining style.
Constant underlining is another method of underlining for text processors. Constant underlining is particularly suited, for example, to financial tables where users often wish to have the underlining to be independent of both the font size and typeface.
The printing industry, and other fields distinguished from the field of text processors, for many years have created a broad range of rules for underlining text. Such non-text processing technologies permit rules (lines offset from text) to be located, independently of the text, at any arbitrary location relative to the text. Of course, when rules can be arbitrarily placed, they provide the same appearance as rules generated by the underlining functions of text processors. However, arbitrary rule placement, independent of text placement, is not practical for text processors. Text processors with underline functions draw the underline rules as a function of imaging the text thereby greatly simplifying the imaging of rules with text.
While known text processors have provided single algorithms for rule generation and hence have greatly simplified the placement of rules using underlining functions, those text processors have also greatly limited the choices available to users and consequently the appearance of rules (lines offset from other text) in text processor documents is often not satisfactory.
In accordance with the above background, there is a need for improved text processors which allow users to select different underlining functions to achieve different styles of underlining and thereby generate displays and documents that have an improved appearance without sacrificing functional simplicity.